package com.xiaoshuidi.cloud.module.member.controller.app.activities.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "租客APP - 活动分页 Request VO")
@Data
@ToString(callSuper = true)
public class EnrollListVO implements Serializable {
    private static final long serialVersionUID = 6348301492825619687L;

    @ExcelIgnore
    @Schema(description = "报名主键")
    private Long id;

    @ExcelIgnore
    @Schema(description = "活动id")
    private Long activityId;

    @ExcelIgnore
    @Schema(description = "活动名称")
    private String name;

    @ExcelIgnore
    @Schema(description = "1-线上活动,2-线下活动")
    private Integer onOff;

    @ExcelIgnore
    @Schema(description = "活动地址")
    private String address;

    @ExcelIgnore
    @Schema(description = "活动报名开始时间")
    private LocalDateTime enrollBegin;

    @ExcelIgnore
    @Schema(description = "活动结束时间")
    private LocalDateTime endTime;

    @ExcelIgnore
    @Schema(description = "活动报名结束时间")
    private LocalDateTime enrollEnd;

    @Schema(description = "报名人")
    @ExcelProperty("报名人名称")
    private String enrollName;

    @Schema(description = "联系方式")
    @ExcelProperty("联系方式")
    private String mobile;

    @ExcelIgnore
    @Schema(description = "报名时间")
    private LocalDateTime enrollTime;

    @ExcelProperty("报名时间")
    private String enrollTimeStr;


    @Schema(description = "核销码")
    @ExcelProperty("核销码")
    private String verifyCode;

    @ExcelIgnore
    @Schema(description = "核销状态1待核销2已核销3已失效")
    private Integer status;

    @ExcelProperty("核销状态")
    @Schema(description = "核销状态1待核销2已核销3已失效")
    private String statusName;

    @Schema(description = "核销人")
    @ExcelProperty("核销人")
    private String verifiedBy;

    @ExcelIgnore
    @Schema(description = "核销时间")
    private LocalDateTime verifiedTime;

    @ExcelProperty("核销时间")
    private String verifiedTimeStr;

    @ExcelIgnore
    @Schema(description = "活动项")
    private List<EnrollItem> items;

    @Schema(description = "活动项json")
    @ExcelIgnore
    private String fillItemDetail;

    @ExcelIgnore
    @Schema(description = "图片二维码")
    private String imageCodeStr;

    @ExcelProperty("填写信息1")
    private String fill1;

    @ExcelProperty("填写信息2")
    private String fill2;

    @ExcelProperty("填写信息3")
    private String fill3;

    @ExcelProperty("填写信息4")
    private String fill4;

    @ExcelProperty("填写信息5")
    private String fill5;

    @ExcelProperty("填写信息6")
    private String fill6;

    @ExcelProperty("填写信息7")
    private String fill7;

    @ExcelProperty("填写信息8")
    private String fill8;

}
